簡單介紹 SL(Save & Load)的意思,就是存檔→讀檔→重來。
相信有在玩遊戲的各位對SL大法都不陌生,當要挑戰強大的BOSS前,或是要打開隨機掉裝的寶箱前,都會習慣性的存檔,避免讓自己從萌新到大佬的努力功虧一簣,小則心情鬱悶一陣子,大則角色直接廢掉
剛剛在寫這篇文章就是沒做好存檔,手賤按到ctrl+R,只好重新來過......
為了在寫程式的路上少走些彎路,寫程式的SL大法版本控制就是其中必用的工具,能讓你在新增、修改功能出現BUG又應付不了的時候,能即時回到先前存檔時還能動的狀態。而我們要使用的工具就是—Git
很多人在使用Git的時候,甚至在這之前就知道GitHub這服務,或者說是網頁,會更貼近大家使用的方式
Git是工具,安裝在你電腦上
GitHub是服務,用瀏覽器就能用
簡單來說,Git就像是本地(在你電腦上儲存)的存檔器,使用Git把存檔放到GitHub,GitHub就是儲存存檔的雲端,讓別人也能下載、協作、甚至幫你打倒BOSS後再傳回來
接著該讓你瞧瞧Git的強大之處所在
只要有了Git,你不需要有一台會把香蕉變果凍的微波爐或IBM5100就能進行時空跳躍,還不只如此,還有許多好用的指令讓操作變得更方便
「這一切都是命運石之門的選擇」
這些名詞看過有印象就好,使用到再查詳細的用法即可
先到git官方下載安裝(https://git-scm.com/downloads)
之後打開bash確認git安裝版本
git --version
確認成功安裝後就可以來創造存檔點了
建立倉庫(創建世界線資料庫)
git init
會在目前所在的資料夾建立新的Git倉庫,生成.git/ 的目錄
之後的每個存檔點都會記在這裡。
存檔(建立世界線節點)
git add .
git commit -m "初次存檔"
add .意思是把你的檔案變更加到暫存區,「.」代表加入目前資料夾下所有變更
commit -m "" 建立一個可回溯的存檔點。 -m ”你的文字”則是對這個存檔點的備註
若忘記add則世界線沒變化,也就無法下commit,也就是要
「更改檔案 -> git add -> git commit」
建新世界線
git branch beta
branch beta 建立一個叫beta的世界線(分支)
!注意!在這邊只是有一條世界線,但你還沒跳過去
git checkout beta
切換到beta世界線
切換世界線時Git會把工作目錄裡的檔案都換成該世界線最新存檔的版本
你在電腦上看到的檔案和內容,就叫工作目錄
此時存檔的紀錄會儲存在beta世界線上
建立個文字檔,讓beta跟main世界線有所差異
touch D-Mail.txt
git add .
git commit -m 'el psy kongroo'
世界線合併
git checkout main
git merge beta
回到main世界線並與beta世界線合併
此時能在工作目錄看見D-Mail文字檔
回到過去
git reset --hard <commit-id>
這邊可以先輸入git log看commit存檔紀錄取他的id
之後代入即可回到過去
!注意!使用--hard指令會使工作目錄和暫存直接覆蓋成目標commit狀態,等於未存檔的修改會直接消失,基本上就是世界線收束直接沒救
要回到未來可以輸入git reflog來查看commit id
所以為什麼版本控制等於SL大法?
明天應該會建個庫做些東西放裡面吧,大概